<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>WebSocket客户端</title>
</head>
<body>
<script type="text/javascript">
  var socket;

  //如果浏览器支持WebSocket
  if(window.WebSocket){
    var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://'
    //参数就是与服务器连接的地址
    //socket = new WebSocket(protocol + "localhost:18080/websocketDemo/166");
    socket = new WebSocket("ws://localhost:8899/ws");//设置目标ip，端口

    //客户端收到服务器消息的时候就会执行这个回调方法
    socket.onmessage = function (event) {
      var ta = document.getElementById("responseText");
      ta.value = ta.value + "\n"+event.data;
    }

    //连接建立的回调函数
    socket.onopen = function(event){
      var ta = document.getElementById("responseText");
      ta.value = "连接开启";
    }

    //连接断掉的回调函数
    socket.onclose = function (event) {
      var ta = document.getElementById("responseText");
      ta.value = ta.value +"\n"+"连接关闭";
    }
  }else{
    alert("浏览器不支持WebSocket！");
  }

  //发送数据
  function send(message){
    if(!window.WebSocket){
      return;
    }

    //当websocket状态打开
    if(socket.readyState == WebSocket.OPEN){
      socket.send(message);
    }else{
      alert("连接没有开启");
    }
  }
</script>
<form onsubmit="return false">
  <textarea name = "message" style="width: 400px;height: 200px"></textarea>

  <input type ="button" value="发送数据" onclick="send(this.form.message.value);">

  <h3>服务器输出：</h3>

  <textarea id ="responseText" style="width: 400px;height: 300px;"></textarea>

  <input type="button" onclick="javascript:document.getElementById('responseText').value=''" value="清空数据">
</form>
</body>
</html>